package com.dirox.jira.notes.entities;

import net.java.ao.Entity;
import net.java.ao.ManyToMany;
import net.java.ao.Preload;
import net.java.ao.schema.Default;
import net.java.ao.schema.NotNull;
import java.util.Date;


@Preload
public interface Note extends Entity {
	public static final int PRIORITY_MUST = 1;
	public static final int PRIORITY_COULD = 2;
	public static final int STATUS_DELETED = 0;
	public static final int STATUS_IN_USE = 1;

	// OWNER_ID
	@NotNull
	void setOwner(User owner);

	@NotNull
	User getOwner();

	// CONTENT
	String getContent();

	void setContent(String content);

	// STATUS
	boolean getStatus();

	@Default(value = "1")
	void setStatus(boolean status);

	// PRIORITY
	int getPriority();

	void setPriority(int priority);

	// CREATED_DATE
	@NotNull
	void setCreatedDate(Date createdDate);

	@NotNull
	Date getCreatedDate();

	@ManyToMany(value = TaggedIssue.class)
	public Issue[] getIssues();

	@ManyToMany(value = TaggedUser.class)
	public User[] getUsers();
}
